package org.mzyyn.qr.service.user;

import org.mzyyn.qr.dto.user.Code2sessionLoginDTO;
import org.mzyyn.qr.dto.user.UserProfileLoginDTO;
import org.mzyyn.qr.dto.user.UserRegisterInfoDTO;
import org.mzyyn.qr.entity.UserPO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.mzyyn.qr.vo.user.LoginUserInfoVO;
import org.mzyyn.qr.vo.user.SessionInfoVO;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author lipeng
 * @since 2024-06-12
 */
public interface UserAppletsService extends IService<UserPO> {
    /**
     * @descrition 通过关键点查询用户，具体查看实现类
     * @author lipeng
     * @date 2024/1/12
     * @param uuid
     * @return com.sinochem.map.iot.uav.biz.entity.MemberPO
     */
    UserPO findByUser(String uuid);

    /**
     * 通过登录手机号校验并获取用户信息
     * @author lipeng
     * @date 2024/3/13
     * @param
     * @return com.sinochem.map.iot.uav.biz.entity.MemberPO
     */
    UserPO checkAndGetUserByLoginPhone();

    /**
     * @descrition 小程序通过code换取openid、unionid
     * @author lipeng
     * @date 2024/1/26
     * @param code2sessionLoginDTO
     * @return java.lang.Object
     */
    SessionInfoVO appletGetSessionByCode(Code2sessionLoginDTO code2sessionLoginDTO);

    /**
     * 获取需要注册的信息
     * @param userProfileLoginDTO
     * @return
     */
    UserRegisterInfoDTO getRegisterInfo(UserProfileLoginDTO userProfileLoginDTO);

}
